<?php
	//分页函数
	/*
	1、页码
	2、共显示多少页数,当前页显示在中间位置
	核心:当前页
	当前页数值在地址栏通过参数传递
	http://localhost/B1904/19-10-16-PHP_MYSQL04/TeachNote/student/index.php?page=5
	<a href="localhost/B1904/19-10-16-PHP_MYSQL04/TeachNote/student/index.php?page=8">
	8
	</a>
	<a href="localhost/B1904/19-10-16-PHP_MYSQL04/TeachNote/student/edit_student.php?s_id=10&page=8">
	8
	</a>
	*/
	//获取当前页面的URL包括所有的参数
	function get_url(){
		//$_SERVER['PHP_SELF']可以获取地址但是不包含参数
		$str=$_SERVER['PHP_SELF'].'?';
		//解决参数的问题
		foreach($_GET as $k=>$v){
			if($k!='page'){//拿到除了page参数之外的参数
				$str.="$k=$v&";
			}
		}
		return $str;
	}
	//print_r($_GET);
	//echo get_url();
	//分页的页码
	/*
	[]当前页  一共有3页   中间共显示5页$size=5
	[1]		2 		3		4		5
	 1     [2]		3		4		5
	 1	   	2	   [3]		4		5
	 2		3	   [4]		5		6
	 3		4	   [5]		6		7
	 4		5	   [6]		7		8
	 5		6	   [7]		8		9
	 6		7	   [8]		9		10
	 6		7		8	   [9]		10
	 6		7		8		9	   [10]
	 for($i=3;$i<=7;$i++){
		echo $i;
	 }
	 3-5+1=-1
	*/
	//分页函数
	//参数$current当前页
	//参数$count数据总数
	//参数$limit每页显示的数据数
	//参数$size中间共显示多少个页数
	//参数$class分页样式
	function page($current,$count,$limit,$size,$class='digg'){
		$str='';
		if($count>$limit){//数据总数大于每页显示的数据数才会有分页
			$pages=ceil($count/$limit);//ceil向上取整
			$url=get_url();//当前页面的URL包含参数
			$str.='<div class="'.$class.'">';
			//第一种情况,只有首页和上一页
			if($current!=1){//当前页不是第一页的时候
				$str.='<a href="'.$url.'page=1">首页</a>';
				$str.='<a href="'.$url.'page='.($current-1).'">上一页</a>';
			}
			//第二种情况,同时有首页、尾页、上一页、下一页
			//1,当前页在中间左侧
			if($current<ceil($size/2)){
				$start=1;
				$end=$pages<$size?$pages:$size;//谁小循环到谁为止
			}else if($current>$pages-floor($size/2)){//2,当前页在中间右侧
				$start=$pages-$size+1<=0?1:$pages-$size+1;
				$end=$pages;
			}else{//3,当前页在中间位置
				$start=$current-floor($size/2);
				$end=$current+floor($size/2);
			}
			//使用for循环将页码循环出来
			for($i=$start;$i<=$end;$i++){
				if($i==$current){//判断当前页的情况
					$str.='<span class="current">'.$i.'</span>';
				}else{
					$str.='<a href="'.$url.'page='.$i.'">'.$i.'</a>';
				}
			}
			//第三种情况,只有尾页和下一页
			if($current!=$pages){//当前页不是最后一页的时候
				$str.='<a href="'.$url.'page='.($current+1).'">下一页</a>';
				$str.='<a href="'.$url.'page='.$pages.'">尾页</a>';
			}
			$str.='</div>';
		}
		return $str;
	}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
?>